home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2008 February / PCWFEB08.iso / Software / Freeware / Miro 1.0 / Miro_Installer.exe / Miro_Downloader.exe / config.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2007-11-12  |  1.5 KB  |  61 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.5)
  3.  
  4. from threading import Event, Lock
  5. import prefs
  6. import platformcfg
  7. _data = { }
  8. _dataLock = Lock()
  9. _ready = Event()
  10. __callbacks = set()
  11.  
  12. def addChangeCallback(callback):
  13.     __callbacks.add(callback)
  14.  
  15.  
  16. def removeChangeCallback(callback):
  17.     __callbacks.discard(callback)
  18.  
  19.  
  20. def setDictionary(d):
  21.     global _data
  22.     _dataLock.acquire()
  23.     
  24.     try:
  25.         _data = d
  26.     finally:
  27.         _dataLock.release()
  28.  
  29.     prefs.APP_SERIAL.key = 'appSerial-%s' % d[prefs.APP_PLATFORM.key]
  30.     _ready.set()
  31.  
  32.  
  33. def updateDictionary(key, value):
  34.     _dataLock.acquire()
  35.     
  36.     try:
  37.         _data[key] = value
  38.     finally:
  39.         _dataLock.release()
  40.  
  41.     for callback in __callbacks:
  42.         callback(key, value)
  43.     
  44.  
  45.  
  46. def get(descriptor):
  47.     _ready.wait()
  48.     _dataLock.acquire()
  49.     
  50.     try:
  51.         if descriptor.key in _data:
  52.             return _data[descriptor.key]
  53.         elif descriptor.platformSpecific:
  54.             return platformcfg.get(descriptor)
  55.         else:
  56.             return descriptor.default
  57.     finally:
  58.         _dataLock.release()
  59.  
  60.  
  61.